/*
 * Copyright (C) 2016 yixun All Rights Reserved.
 * 
 * ProjectRoomDto.java
 */
package com.emm.yixun.common.model.dto;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import com.emm.yixun.common.model.ProjectRoom;

/**
 * [文件名称]<br>
 * ProjectRoomDto.java<br>
 * <br>
 * [文件描述]<br>
 * 房产房间表 数据辅助类<br>
 * <br>
 * [修改记录]<br>
 * 2016-05-11 11:27:19 创建 陶俊代码生成器<br>
 * 
 * @author 陶俊代码生成器
 * @version 1.00
 */
public class ProjectRoomDto extends ProjectRoom {
	private static final long serialVersionUID = 1L;
	/**
	 * 需要正序字段名
	 */
	private List<String> asc;
	/**
	 * 需要逆序字段名
	 */
	private List<String> desc;
	/**
	 * 排序SQL
	 */
	private String orders;

	private String houseTypeName;

	private String area;

	private Date effectiveDate;
	private Long day;

	private Long roomId;

	private String rStatus;

	private String cStatus;

	private BigDecimal danjia;

	private BigDecimal zongjia;

	private String valuationType;

	private String ids;

	private String customerId;

	private String roomQuery;

	private String modelRoomStatus;

	private String modelRoomQuery;

	private ArrayList<String> roomStatusList;

	private String projectName;

	private String newCombinedName;
	
	private String projectType;
	
	private String customerName;
	
	private String userName;
	
	private String customerCode;//客户代码
	private Date subscribeDate;//认购日期
	private String signedPrice;//签约单价
	private String contractAmount;//合同金额
	private Date conversionSignDate;//转签约时间
	private String isOverdue;//是否逾期未签约
	private String overdueDay;//逾期天数
	private String subscribeAmount;//认购金
	private String haveSubscribeAmount;//已收认购金
	private String businessStatus;//业务状态
	private String beforeDiscountPrice;//折前单价
	private String beforeDiscountAmount;//折前单价
	private String subscribeCode;//认购编号
	private String discountAmount;//折扣金额
	private String discountRate;//折扣比例
	private String discountNote;//折扣说明
	private String dealCategory;//成交类别
	private String roomDynamic;//房源动态
	private String auditStatus;//审核状态
	
	/*********数据修复扩展字段**********/
	private String premisesName;
	private String buildingName;
	private String unitName;
	private String roomName;

	public ArrayList<String> getRoomStatusList() {
		return roomStatusList;
	}

	public void setRoomStatusList(ArrayList<String> roomStatusList) {
		this.roomStatusList = roomStatusList;
	}

	public String getModelRoomStatus() {
		return modelRoomStatus;
	}

	public void setModelRoomStatus(String modelRoomStatus) {
		this.modelRoomStatus = modelRoomStatus;
	}

	public String getModelRoomQuery() {
		return modelRoomQuery;
	}

	public void setModelRoomQuery(String modelRoomQuery) {
		this.modelRoomQuery = modelRoomQuery;
	}

	public String getRoomQuery() {
		return roomQuery;
	}

	public void setRoomQuery(String roomQuery) {
		this.roomQuery = roomQuery;
	}

	public BigDecimal getDanjia() {
		return danjia;
	}

	public void setDanjia(BigDecimal danjia) {
		this.danjia = danjia;
	}

	public BigDecimal getZongjia() {
		return zongjia;
	}

	public void setZongjia(BigDecimal zongjia) {
		this.zongjia = zongjia;
	}

	public String getValuationType() {
		return valuationType;
	}

	public void setValuationType(String valuationType) {
		this.valuationType = valuationType;
	}

	public String getcStatus() {
		return cStatus;
	}

	public void setcStatus(String cStatus) {
		this.cStatus = cStatus;
	}

	public String getrStatus() {
		return rStatus;
	}

	public void setrStatus(String rStatus) {
		this.rStatus = rStatus;
	}

	public Long getRoomId() {
		return roomId;
	}

	public void setRoomId(Long roomId) {
		this.roomId = roomId;
	}

	/**
	 * 添加需要正序字段名
	 */
	public void addAsc(String col) {
		if (asc == null) {
			asc = new LinkedList<String>();
		}
		asc.add(col);
	}

	/**
	 * 清空需要正序字段名
	 */
	public void cleanAsc() {
		asc = null;
	}

	/**
	 * 添加需要逆序字段名
	 */
	public void addDesc(String col) {
		if (desc == null) {
			desc = new LinkedList<String>();
		}
		desc.add(col);
	}

	/**
	 * 清空需要逆序字段名
	 */
	public void cleanDesc() {
		desc = null;
	}

	/**
	 * 如果排序SQL为空根据需要正逆序的字段名拼接排序SQL
	 */
	public String getOrders() {
		StringBuilder orderStr = null;
		StringBuilder ascStr;
		StringBuilder descStr;
		if (orders == null) {
			if (asc != null) {
				ascStr = new StringBuilder();
				orderStr = new StringBuilder();
				String pex = "";
				for (String a : asc) {
					ascStr.append(pex + a);
					pex = ",";
				}
				orderStr.append(ascStr.toString() + " ASC");
			}
			if (desc != null) {
				descStr = new StringBuilder();
				String pex = "";
				for (String d : desc) {
					descStr.append(pex + d);
					pex = ",";
				}
				if (orderStr == null) {
					orderStr = new StringBuilder();
					orderStr.append(descStr.toString() + " DESC");
				} else {
					orderStr.append("," + descStr.toString() + " DESC");
				}
			}
			orders = orderStr != null ? orderStr.toString() : null;
		}

		return orders;
	}

	/**
	 * 设置排序SQL
	 */
	public void setOrders(String orders) {
		this.orders = orders;
	}

	private Date updateTimeBefore;
	private Date updateTimeAfter;
	private Date createTimeBefore;
	private Date createTimeAfter;
	private Date salesPermissionDateBefore;
	private Date salesPermissionDateAfter;
	
	private String totalHouse;
	
	

	public String getTotalHouse() {
	    return totalHouse;
	}

	public void setTotalHouse(String totalHouse) {
	    this.totalHouse = totalHouse;
	}

	public Date getUpdateTimeBefore() {
		return this.updateTimeBefore;
	}

	public void setUpdateTimeBefore(Date updateTimeBefore) {
		this.updateTimeBefore = updateTimeBefore;
	}

	public Date getUpdateTimeAfter() {
		return this.updateTimeAfter;
	}

	public void setUpdateTimeAfter(Date updateTimeAfter) {
		this.updateTimeAfter = updateTimeAfter;
	}

	public Date getCreateTimeBefore() {
		return this.createTimeBefore;
	}

	public void setCreateTimeBefore(Date createTimeBefore) {
		this.createTimeBefore = createTimeBefore;
	}

	public Date getCreateTimeAfter() {
		return this.createTimeAfter;
	}

	public void setCreateTimeAfter(Date createTimeAfter) {
		this.createTimeAfter = createTimeAfter;
	}

	public Date getSalesPermissionDateBefore() {
		return this.salesPermissionDateBefore;
	}

	public void setSalesPermissionDateBefore(Date salesPermissionDateBefore) {
		this.salesPermissionDateBefore = salesPermissionDateBefore;
	}

	public Date getSalesPermissionDateAfter() {
		return this.salesPermissionDateAfter;
	}

	public void setSalesPermissionDateAfter(Date salesPermissionDateAfter) {
		this.salesPermissionDateAfter = salesPermissionDateAfter;
	}

	public String getHouseTypeName() {
		return houseTypeName;
	}

	public void setHouseTypeName(String houseTypeName) {
		this.houseTypeName = houseTypeName;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public Date getEffectiveDate() {
		return effectiveDate;
	}

	public void setEffectiveDate(Date effectiveDate) {
		this.effectiveDate = effectiveDate;
	}

	public Long getDay() {
		return day;
	}

	public void setDay(Long day) {
		this.day = day;
	}

	public String getIds() {
		return ids;
	}

	public void setIds(String ids) {
		this.ids = ids;
	}

	public String getCustomerId() {
		return customerId;
	}

	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getNewCombinedName() {
		return newCombinedName;
	}

	public void setNewCombinedName(String newCombinedName) {
		this.newCombinedName = newCombinedName;
	}

	public String getProjectType() {
		return projectType;
	}

	public void setProjectType(String projectType) {
		this.projectType = projectType;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getSignedPrice() {
		return signedPrice;
	}

	public void setSignedPrice(String signedPrice) {
		this.signedPrice = signedPrice;
	}

	public String getContractAmount() {
		return contractAmount;
	}

	public void setContractAmount(String contractAmount) {
		this.contractAmount = contractAmount;
	}

	public String getIsOverdue() {
		return isOverdue;
	}

	public void setIsOverdue(String isOverdue) {
		this.isOverdue = isOverdue;
	}

	public String getOverdueDay() {
		return overdueDay;
	}

	public void setOverdueDay(String overdueDay) {
		this.overdueDay = overdueDay;
	}

	public String getSubscribeAmount() {
		return subscribeAmount;
	}

	public void setSubscribeAmount(String subscribeAmount) {
		this.subscribeAmount = subscribeAmount;
	}

	public String getHaveSubscribeAmount() {
		return haveSubscribeAmount;
	}

	public void setHaveSubscribeAmount(String haveSubscribeAmount) {
		this.haveSubscribeAmount = haveSubscribeAmount;
	}

	public String getBusinessStatus() {
		return businessStatus;
	}

	public void setBusinessStatus(String businessStatus) {
		this.businessStatus = businessStatus;
	}

	public String getBeforeDiscountPrice() {
		return beforeDiscountPrice;
	}

	public void setBeforeDiscountPrice(String beforeDiscountPrice) {
		this.beforeDiscountPrice = beforeDiscountPrice;
	}

	public String getBeforeDiscountAmount() {
		return beforeDiscountAmount;
	}

	public void setBeforeDiscountAmount(String beforeDiscountAmount) {
		this.beforeDiscountAmount = beforeDiscountAmount;
	}

	public String getSubscribeCode() {
		return subscribeCode;
	}

	public void setSubscribeCode(String subscribeCode) {
		this.subscribeCode = subscribeCode;
	}

	public String getDiscountAmount() {
		return discountAmount;
	}

	public void setDiscountAmount(String discountAmount) {
		this.discountAmount = discountAmount;
	}

	public String getDiscountRate() {
		return discountRate;
	}

	public void setDiscountRate(String discountRate) {
		this.discountRate = discountRate;
	}

	public String getDiscountNote() {
		return discountNote;
	}

	public void setDiscountNote(String discountNote) {
		this.discountNote = discountNote;
	}

	public String getDealCategory() {
		return dealCategory;
	}

	public void setDealCategory(String dealCategory) {
		this.dealCategory = dealCategory;
	}

	public String getRoomDynamic() {
		return roomDynamic;
	}

	public void setRoomDynamic(String roomDynamic) {
		this.roomDynamic = roomDynamic;
	}

	public String getAuditStatus() {
		return auditStatus;
	}

	public void setAuditStatus(String auditStatus) {
		this.auditStatus = auditStatus;
	}

	public Date getSubscribeDate() {
		return subscribeDate;
	}

	public void setSubscribeDate(Date subscribeDate) {
		this.subscribeDate = subscribeDate;
	}

	public Date getConversionSignDate() {
		return conversionSignDate;
	}

	public void setConversionSignDate(Date conversionSignDate) {
		this.conversionSignDate = conversionSignDate;
	}

	public String getCustomerCode() {
		return customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public String getPremisesName() {
		return premisesName;
	}

	public void setPremisesName(String premisesName) {
		this.premisesName = premisesName;
	}

	public String getBuildingName() {
		return buildingName;
	}

	public void setBuildingName(String buildingName) {
		this.buildingName = buildingName;
	}

	public String getUnitName() {
		return unitName;
	}

	public void setUnitName(String unitName) {
		this.unitName = unitName;
	}

	public String getRoomName() {
		return roomName;
	}

	public void setRoomName(String roomName) {
		this.roomName = roomName;
	}

}
